1. Field of the Invention
The present invention relates to storage systems, and more particularly, to using PCI-Express standard for connecting plural modules.
2. Background of the Invention
Storage area networks (“SAN”) are commonly used to store and access data. SAN is a high-speed sub-network of shared storage devices, for example, disks and tape drives. A computer system (may also be referred to as a “host”) can access data stored in the SAN.
Typical SAN architecture makes storage devices available to all servers that are connected using a computer network, for example, a local area network or a wide area network. The term server in this context means any computing system or device coupled to a network that manages network resources. For example, a file server is a computer and storage device dedicated to storing files. Any user on the network can store files on the server. A print server is a computer that manages one or more printers, and a network server is a computer that manages network traffic. A database server is a computer system that processes database queries.
Various components and standard interfaces are used to move data from host systems to storage devices in a SAN. Fibre channel is one such standard. Fibre channel (incorporated herein by reference in its entirety) is an American National Standard Institute (ANSI) set of standards, which provides a serial transmission protocol for storage and network protocols such as HIPPI, SCSI (small computer system interface), IP, ATM and others. Fibre channel provides an input/output interface to meet the requirements of both channel and network users.
Host systems often communicate via a host bus adapter (“HBA”) using the “PCI” bus interface. PCI stands for Peripheral Component Interconnect, a local bus standard that was developed by Intel Corporation®. The PCI standard is incorporated herein by reference in its entirety. Most modern computing systems include a PCI bus in addition to a more general expansion bus (e.g. the ISA bus). PCI is a 64-bit bus and can run at clock speeds of 33 or 66 MHz.
PCI-X is a standard bus that is compatible with existing PCI cards using the PCI bus. PCI-X improves the data transfer rate of PCI from 132 MBps to as much as 1 GBps. The PCI-X standard was developed by IBM®, Hewlett Packard Corporation® and Compaq Corporation® to increase performance of high bandwidth devices, such as Gigabit Ethernet standard and Fibre Channel Standard, and processors that are part of a cluster.
PCI-Express (may also be referred to as “PCI-Exp”) is another industry standard that is being developed to allow data transfer at 2.5 Gigabits/second and has a layered structure. PCI-Exp provides a dual-simplex channel that is implemented as a transmit and receive pair.
PCI-Exp link consists of two low-voltage, differentially driven pair of signals, i.e. a transmit pair and a receive pair. A data clock is embedded using an 8b/10b-encoding scheme to achieve high data rates. A PCI-Exp physical layer is used to transport packets between link layers of two PCI-Exp agents. Adding signal pairs to form multiple lanes may linearly scale the bandwidth of a PCI-Exp lane. The current PCI-Exp physical layer can support a ×1(single), ×2 (double), ×4 (four), ×8(eight), ×12 (twelve), ×16(sixteen) and ×32 (thirty two) lane widths.
As discussed above, servers to interact with storage sub-systems use adapters. Often multiple adapters are used in complex systems. In order to couple plural adapters to a host system (for example, the host system 101A, FIG. 1A), a bridge is required. FIG. 1D block diagram shows two adapters (A and B) 106 that are coupled to a bridge 106A allowing host system 101A access to both the adapters A and B. The cost of using bridge 106A is not commercially desirable.
Therefore, there is a need for a system that allows multiple adapters to be coupled to a host system without using a bridge and preferably using the same PCI-Exp slot.